package com.lemon.boot.vo;

import com.lemon.boot.po.MenuPO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author 李猛
 * @datetime 2024/3/29 16:02
 * @description 类对象
 */
@Setter
@Getter
@ApiModel(value = "租户菜单视图对象")
public class TreeTenantMenuVO {
    //主键ID
    @ApiModelProperty(value = "主键ID")
    private Long id;

    //租户ID
    @ApiModelProperty(value = "租户ID")
    private Long tenantId;

    //菜单ID
    @ApiModelProperty(value = "菜单ID")
    private Long menuId;

    //父ID
    @ApiModelProperty(value = "父ID")
    private Long parentId;

    //菜单名称
    @ApiModelProperty(value = "菜单名称")
    private String name;

    //图标地址
    @ApiModelProperty(value = "图标地址")
    private String icon;

    //排序
    @ApiModelProperty(value = "排序")
    private Integer seq;

    //树形菜单ID链
    @ApiModelProperty(value = "树形菜单ID链")
    private String treeLinkId;

    //创建人ID
    @ApiModelProperty(value = "创建人ID")
    private String createBy;

    //创建时间
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    //修改人ID
    @ApiModelProperty(value = "修改人ID")
    private String updateBy;

    //修改时间
    @ApiModelProperty(value = "修改时间")
    private LocalDateTime updateTime;

    //状态：1启用 0停用
    @ApiModelProperty(value = "状态：1启用 0停用")
    private Integer status;

    @ApiModelProperty(value = "子菜单集合")
    private List<TreeTenantMenuVO> children;

    @ApiModelProperty(value = "是否是第一个菜单")
    private boolean first;

    @ApiModelProperty(value = "是否是最后一个菜单")
    private boolean last;
}
